Kružnice\ k_1, k_2\ mají\ vnější\ dotyk\ a\ r_1≥r_2,
\ přímka\ p\ nemá\ s\ žádnou\ z\ nich\ společný\ bod.
\ Sestrojte\ všechny\ kružnice, 
\které\ se\ dotýkají\ kružnic\ k_1,\ k_2\ a\ přímky\ p.

7) Podobně jako u bodů T_{e1} postupujeme u T_{p1} aT_{p2}. Vzniklé průsečíky s p_1 a t_{p1,2} nazveme T_{p3}, T_{p4}

8) trojúhelníkům T_{p3},T_{e3}S_2 a T_{p4}T_{e4} S_2 opíšeme kružnici l_1, l_2.

4) zobrazíme přímku p_1v kruhové inverzi s řídící kružnicí k

Zadání

5) nalezneme tečny kružnic p'_1, e a bodz doteku označíme postupně T_{e1}, T_{p1}, T_{e2}, T_{p2}.

2) vedeme tečnu ke kružnici e bodem S_2, a bod doteku označíme T_t

3) kružnice k(S_2, |S_2T_t|)

6) přímka t_{e1}, procházející T_{e1} a S_1. Její průsečík s e nazveme T_{e3}. Stejně budemem postupovat u T_{e2}

9) kružnice l_1, L_2 zmenšíme o r_2

zelené řešení apolloniova úloha BPP, bod D, přímka t a p

Opačným směrem posouvat nebudeme, protože v té polorovině žádné řešení neexistuje.

1) Zmenšíme k_1 o r_2 a přímku p posunem směrem od kružnic (opačným směrem než očekáváme výsledek) o vzdálenost r_2, tím nám vznikne apolloniova úloha BKP.

červené řešení pomocí dilatace

Řešení

o = false
s = false
j = false
a = true
r_{1.} = 9 (slider from 3 to 20, step 0.5)
r_{2.} = 4.5 (slider from 0.5 to 19.5, step 0.5)
S_1 = (-0.7, -1.2)
D = Point(Circle[S_1, r_{1.}])
r_1 = Segment(S_1, D)
S_2 = Point(Circle[D, r_{2.}])
r_2 = Segment(D, S_2)
k_1 = Circle(S_1, D)
k_2 = Circle(S_2, D)
D_1 = (-2.8957955019067483, -11.595340221369574)
E = (16.685110904609832, -6.949023446941898)
p = Line(D_1, E)
c = Circle(S_1, r_{1.} - r_{2.})
A = Point(p)
f = OrthogonalLine(A, p)
d = Circle(A, r_{2.})
B = Intersect(d, f, 2)
C = Intersect(d, f, 1)
p_1 = OrthogonalLine(C, f)
e = Circle(S_1, r_{1.} - r_{2.})
g, t_{t} = Tangent(S_2, e)
T_{t} = Intersect(e, t_{t})
k = Circle(S_2, T_{t})
p'_{1} = Mirror(p_1, k)
t_1, t_2, t_3, t_4 = Tangent(p'_{1}, e)
T_{e1} = Intersect(e, t_1, 1)
T_5, T_2 = Intersect(e, t_2)
T_{p1} = Intersect(p'_{1}, t_1)
T_{p2} = Intersect(p'_{1}, t_2)
t_{e1} = Line(T_{e1}, S_2)
T_{e3} = Intersect(e, t_{e1}, 2)
t_{p1} = Line(S_2, T_{p1})
T_{p3} = Intersect(p_1, t_{p1})
l_1 = Circle(T_{e3}, T_{p3}, S_2)
V_1 = Center(l_1)
r_{v1} = Segment(V_1, T_{e3})
v_1 = Circle(V_1, r_{v1} - r_{2.})
t_{e2} = Line(T_5, S_2)
m = false
T_{e2}, T_{e4} = Intersect(e, t_{e2})
t_{p2} = Line(S_2, T_{p2})
T_{p4} = Intersect(t_{p2}, p_1)
l_2 = Circle(T_{e4}, T_{p4}, S_2)
V_2 = Center(l_2)
r_{v2} = Segment(V_2, S_2)
v_2 = Circle(V_2, r_{v2} - r_{2.})
q = false
h = false
i = false
l = false
r = Line(S_1, S_2)
t = OrthogonalLine(D, r)
F = Intersect(k_1, r, 1)
G = Intersect(k_2, r, 2)
o_2, o_1 = AngularBisector(p, t)
H = Point(o_2)
J = Intersect(p, t)
H' = Mirror(H, t)
f_1 = Segment(H', H)
I = Intersect(t, f_1)
c_1 = Circle(H, I)
V_3 = Dilate(H, abs(Distance[D, J]) / abs(Distance[I, J]), J)
v_3 = Circle(V_3, D)
K = Point(o_1)
K' = Mirror(K, p)
g_1 = Segment(K, K')
L = Intersect(p, g_1)
e_1 = Circle(K, L)
V_4 = Dilate(K, abs(Distance[D, J]) / abs(Distance[L, J]), J)
v_4 = Circle(V_4, D)
v = false
w = true
b = true
n = true